The present invention relates to the reliability, performance and cost of computer storage.
The computer storage industry rates storage along several dimensions which include reliability, performance, and cost. Reliable computer storage can be defined as a storage medium on which the mean time between failures (MTBF) is very high, where failure refers to loss of data and “very high” is relative to other storage media. The performance of a computer storage medium can be defined by the number of random read/write/rewrite operations in a unit of time that can occur in that medium. The more operations that can occur in a unit of time, the higher the performance. The cost of computer storage is typically a function of performance P, reliability R and size S. For example, a first order formula for cost isCost=(a*P+b*R)*c*Swhere a, b, and c are market and technology driven constants and * is the multiplication symbol. In accordance with this formula, storage is more expensive when performance is higher, reliability is higher or size is larger.
For example, a tape medium is typically inexpensive, providing low performance and high reliability. As another example, magnetic disk systems are expensive, and provide very high performance compared with tapes. A basic magnetic disk system is also low in reliability compared with tapes, although there are ways to make it more reliable as explained below. Even a basic disk system costs more than tapes owing mainly to the mechanical nature of the media compared with the simple tape cassette housing a plastic tape coated with a magnetically recording thin layer.
Magnetic disk systems can be rendered more reliable while maintaining high performance via various technological enhancements, but at an increased cost to the systems. For example, a system which uses a Redundant Array of Inexpensive Disks also known as Redundant Array of Independent Disks (RAID) stores the same data in different places (thus, redundantly) on multiple hard disks. By placing data on multiple disks, I/O operations can overlap in a balanced way, improving performance. Since the use of multiple disks increases the mean time between failure, storing data redundantly also increases fault-tolerance. Therefore usage of a RAID provides relatively high reliability via redundancy, while preserving high performance, but also increasing cost.
A heterogeneous storage system comprises a mix of storage components having differing cost, performance and/or reliability and therefore differing advantages and disadvantages. For example, a typical prior art heterogeneous storage system includes expensive, high performance, high reliability magnetic disk storage (for example RAID) plus low cost, low performance, high reliability secondary storage (for example tapes or magnetic/optics such as Magneto Optical (MO), Compact Disc (CD), Digital Versatile Disc also known as Digital Video Disc (DVD) etc.)
FIG. 1 depicts a prior art heterogeneous storage system 100 which allows storage and retrieval of data by client(s) 110. The client 110 shown in FIG. 1 represents all clients which access storage system 100 and does not necessarily always refer to the same client. For example the storing client may in some cases differ from the retrieving client. Client 110 stores data in heterogeneous storage system 100 (arrow 150). The data is initially stored in a high-reliability high-performance storage 120. It is assumed that the data is eventually backed up on secondary (high-reliability low-performance) storage 140 (arrows 160 and 165), with the timing of the backup determined by a storage policies sub-unit 130. Once the data has been backed up, it is possible that the data will be eliminated immediately from high performance storage 120, or will later be eliminated from high-performance storage 120, for example once storage 120 is full and new data is sent for storage. In effect, the secondary storage 140 archives the data when it is no longer likely to be required on an ongoing basis and, to this extent, is off-line and therefore not directly accessible.
During the retrieval process, client 110 requests retrieval of the data from heterogeneous storage system 100. The data is provided to client 110 (arrow 180). Depending on the location of the data, the data could have been retrieved from high performance storage 120 (broken arrow 170) or from secondary storage 140 (broken arrow 190). In the latter case, data is no longer on-line and directly accessible and must be restored from the secondary storage 140. For example, in the common situation where the secondary storage is a tape unit, the correct tape must first be located, then wound on the tape reader and only then may the stored data be retrieved. This is reliable but time-consuming.